package com.wakaca.design.pattern.behavioral.netty;

/** 处理链路的上下文节点，在此节点上持下一个节点以及当前节点进行处理的 handler */
class HandlerChainContext {
    HandlerChainContext next;   // 下一个链路节点
    AbstractHandler handler;    // 当前处理器 handler

    public HandlerChainContext(AbstractHandler handler) {
        this.handler = handler;
    }

    public void handler(Object arg0) {
        this.handler.doHandler(this, arg0);
    }

    /** 继续执行下一个 handler */
    public void finaNextContext(Object arg0) {
        if(this.next != null) {
            this.next.handler(arg0);
        }
    }

}